"""所有api定义, 每一种资源的接口都单独创建一个_api.py的文件"""

import os
import importlib
import inspect

apis = []

def _load_apis():
    """
    加载当前目录下所有的_api.py结尾的文件中的fastapi router,并放到apis中
    """
    current_dir = os.path.dirname(__file__)
    
    for filename in os.listdir(current_dir):
        if filename.endswith('_api.py') and filename != '__init__.py':
            module_name = filename[:-3]  # 去掉.py后缀
            try:
                # 动态导入模块
                module = importlib.import_module(f'.{module_name}', package=__package__)
                
                # 查找模块中的router对象
                for name, obj in inspect.getmembers(module):
                    if name == 'router' and hasattr(obj, 'routes'):
                        apis.append(obj)
                        break
            except ImportError as e:
                print(f"Failed to import {module_name}: {e}")
_load_apis()
